package com.yuntai.pms.model.entity.system;

import java.io.Serializable;
import java.util.Date;
import com.alibaba.fastjson.JSON;

/**
 * @ClassName: Function
 * @Description: 与数据表 openapi_function 对应的实体类
 * @author caijg@hsyuntai.com
 * @date 2017年8月28日 下午3:47:02
 */
public class Function implements Serializable{
	
	private static final long serialVersionUID = -3267958925639962731L;

	/** @Fields id : 主键Id*/
	private Long id;

    /** @Fields name : 菜单名 如：'参数管理'*/
    private String name;

    /** @Fields code : 权限对应的编码 如：'ROLE_PARAM'*/
    private String code;

    /** @Fields parentCode : 父级权限对应的编码 如：'ROLE_SYSTEM_MG'*/
    private String parentCode;

    /** @Fields sysFunctionCode : */
    private String sysFunctionCode;

    /** @Fields level : code对应的级别*/
    private Byte level;

    /** @Fields functionUrl : 权限对应的可访问的的url 如：'/system/user/page'*/
    private String functionUrl;

    /** @Fields sortNum : 排序级别 0-9*/
    private Integer sortNum;

    /** @Fields functionType : code类型*/
    private Byte functionType;

    /** @Fields platformType : 平台类型*/
    private String platformType;

    /** @Fields createTime : 创建时间*/
    private Date createTime;

    /** @Fields updateTime : 最后一次更新时间*/
    private Date updateTime;

    /** @Fields status : 状态：是否可用 enabled 或 disable*/
    private String status;
    
    /** @Fields iconType : 菜单图标的类型 1：矢量图标 2：url图标*/
    private Byte iconType;
    
    /** @Fields icon : 图标源信息*/
    private String iconSource;
    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    public String getParentCode() {
        return parentCode;
    }

    public void setParentCode(String parentCode) {
        this.parentCode = parentCode == null ? null : parentCode.trim();
    }

    public String getSysFunctionCode() {
        return sysFunctionCode;
    }

    public void setSysFunctionCode(String sysFunctionCode) {
        this.sysFunctionCode = sysFunctionCode == null ? null : sysFunctionCode.trim();
    }

    public Byte getLevel() {
        return level;
    }

    public void setLevel(Byte level) {
        this.level = level;
    }

    public String getFunctionUrl() {
        return functionUrl;
    }

    public void setFunctionUrl(String functionUrl) {
        this.functionUrl = functionUrl == null ? null : functionUrl.trim();
    }

    public Integer getSortNum() {
        return sortNum;
    }

    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }

    public Byte getFunctionType() {
        return functionType;
    }

    public void setFunctionType(Byte functionType) {
        this.functionType = functionType;
    }

    public String getPlatformType() {
        return platformType;
    }

    public void setPlatformType(String platformType) {
        this.platformType = platformType == null ? null : platformType.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }
    
    public Byte getIconType() {
		return iconType;
	}

	public void setIconType(Byte iconType) {
		this.iconType = iconType;
	}
	
	public String getIconSource() {
		return iconSource;
	}

	public void setIconSource(String iconSource) {
		this.iconSource = iconSource;
	}

	@Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}